/**
 *
 */
package com.angel.annotation.managers;

import java.lang.annotation.ElementType;

import com.angel.annotation.interfaces.AnnotationAction;

/**
 *
 * @author William
 *
 */
public class AnnotationTargetAction {

	private ElementType target;
	private AnnotationAction annotationAction;

	public AnnotationTargetAction(ElementType target, AnnotationAction annotationAction){
		super();
		this.target = target;
		this.annotationAction = annotationAction;
	}

	/**
	 * @return the target
	 */
	public ElementType getTarget() {
		return target;
	}

	/**
	 * @param target the target to set
	 */
	public void setTarget(ElementType target) {
		this.target = target;
	}

	/**
	 * @return the annotationAction
	 */
	public AnnotationAction getAnnotationAction() {
		return annotationAction;
	}

	/**
	 * @param annotationAction the annotationAction to set
	 */
	public void setAnnotationAction(AnnotationAction annotationAction) {
		this.annotationAction = annotationAction;
	}

	public boolean isDefault() {
		return this.annotationAction.isDefault();
	}

	public boolean isForTarget(ElementType target){
		return this.getTarget() == target;
	}
}
